有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java什么距离计算(经度、纬度)更精确?

我正在比较计算两点之间距离的两种不同方法

  1. 哈弗森公式可在以下页面找到:http://www.movable-type.co.uk/scripts/latlong.html

  2. geotools库的以下功能:

GeodeticCalculator geodeticCalculator = new GeodeticCalculator(); geodeticCalculator.setStartingGeographicPoint(lng1, lat1); geodeticCalculator.setDestinationGeographicPoint(lng2, lat2); double distance = geodeticCalculator.getOrthodromicDistance();

两个坐标在大约100米范围内的结果相差约3米。对于更长的距离(约1000公里),甚至更长的距离(约公里)。 但也很难确定哪一个更精确,因为你没有一个你真正可以信任的参考资料。(例如,不知道谷歌地图是否如此精确)

有什么想法吗


共 (2) 个答案

  1. # 1 楼答案

    经过进一步研究,我想回答一下自己的问题:

    Geotools库在这里更精确,因为如果使用空构造函数实例化,它默认使用WGS84模型

    另一个公式使用了一个不精确的地球球形模型

  2. # 2 楼答案

    我不是专家,但哈弗森公式的文件说它假设地球是球形的。而地球实际上是一个大地水准面形状。所以我假设大地测量计算器更精确

    如果你想要更多细节,最好在GIS堆栈交换中询问